package com.cw.jeeyt.service.intf.api;

import java.util.List;

import com.cw.jeeyt.service.bo.api.ApiDatabaseBo;
import com.cw.lang.mybatis.dto.PageInfo;

/**
 * 数据库操作业务接口
 */
public interface ApiDatabaseService {
    /**
     * 分页查询数据库信息
     *
     * @param apiDatabaseBo 查询条件
     * @param pageNum 当前页
     * @param pageSize 每页长度
     * @return
     */
    PageInfo<ApiDatabaseBo> queryPageInfo(ApiDatabaseBo apiDatabaseBo, Integer pageNum, Integer pageSize);

    /**
     * 根据条件查询数据库信息
     *
     * @param apiDatabaseBo 查询条件
     * @return
     */
    List<ApiDatabaseBo> queryList(ApiDatabaseBo apiDatabaseBo);

    /**
     * 根据主键查询数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    ApiDatabaseBo getById(ApiDatabaseBo apiDatabaseBo);

    /**
     * 新增数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    boolean insert(ApiDatabaseBo apiDatabaseBo);

    /**
     * 新增不为null的数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    boolean insertSelective(ApiDatabaseBo apiDatabaseBo);

    /**
     * 批量新增数据库信息
     *
     * @param apiDatabaseBos
     * @return
     */
    boolean insertBatch(List<ApiDatabaseBo> apiDatabaseBos);

    /**
     * 修改数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    boolean update(ApiDatabaseBo apiDatabaseBo);

    /**
     * 批量修改数据库信息
     *
     * @param apiDatabaseBos
     * @return
     */
    boolean updateBatch(List<ApiDatabaseBo> apiDatabaseBos);

    /**
     * 修改不为null的数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    boolean updateSelective(ApiDatabaseBo apiDatabaseBo);

    /**
     * 根据主键删除数据库信息
     *
     * @param apiDatabaseBo
     * @return
     */
    boolean deleteById(ApiDatabaseBo apiDatabaseBo);
}
